Hitting Families of Schedules for Asynchronous Programs
نویسندگان
چکیده
We consider the following basic task in the testing of concurrent systems. The input to the task is a partial order of events, which models actions performed on or by the system and specifies ordering constraints between them. The task is to determine if some scheduling of these events can result in a bug. The number of schedules to be explored can, in general, be exponential. Empirically, many bugs in concurrent programs have been observed to have small bug depth; that is, these bugs are exposed by every schedule that orders d specific events in a particular way, irrespective of how the other events are ordered, and d is small compared to the total number of events. To find all bugs of depth d, one needs to only test a d-hitting family of schedules: we call a set of schedules a d-hitting family if for each set of d events, and for each allowed ordering of these events, there is some schedule in the family that executes these events in this ordering. The size of a d-hitting family may be much smaller than the number of all possible schedules, and a natural question is whether one can find d-hitting families of schedules that have small size. In general, finding the size of optimal d-hitting families is hard, even for d = 2. We show, however, that when the partial order is a tree, one can explicitly construct d-hitting families of schedules of small size. When the tree is balanced, our constructions are polylogarithmic in the number of events.
منابع مشابه
Effective Aid for Hitting the Bull’s Eye; Comment on “It’s About the Idea Hitting the Bull’s Eye”: How Aid Effectiveness Can Catalyse the Scale-up of Health Innovations”
This article studies how six key aid effectiveness principles for “Hitting the bull’s eye” can bring about the scale up of maternal and newborn health (MNH) interventions. These key principles are based on accepted international agreements such as the Paris Declaration on Aid Effectiveness. The results indicate that the six principles should be a guide for recipient countries to take ownership ...
متن کاملExploiting Synchronization for the Static Detection of Programming Errors
As asynchronous programming becomes more mainstream, program analyses capable of automatically uncovering programming errors are increasingly in demand. Since asynchronous program analysis is computationally costly, current approaches sacrifice completeness and focus on a limited set of thread schedules empirically likely to expose programming errors. These approaches make use of a parameterize...
متن کاملScheduling globally asynchronous locally synchronous systems for guaranteed response times
This paper analyzes and schedules Globally Asynchronous Locally Synchronous (GALS) programs to bound response times to input events. The proposed approach is applicable to scheduling of GALS programs for different target architectures with single or multiple processors or cores. A Satisfiability Modulo Theoretical (SMT) formulation in the quantifier free linear real arithmetic (QF LRA) logic is...
متن کاملDifferentiating between child protection and family support in the Canadian child welfare system's response to intimate partner violence, corporal punishment, and child neglect.
Rates of reported child maltreatment nearly doubled in Canada over the period 1998-2003, an increase that reflects growing awareness of the harmful effects of an expanding array of parental behaviors, including corporal punishment, lack of supervision, and exposure to intimate partner violence (IPV). Some of these situations may benefit from voluntary family support programs outside of the chil...
متن کاملUnder-approximation of Reachability in Multivalued Asynchronous Networks
The Process Hitting is a recently introduced framework designed for the modelling of concurrent systems. Its originality lies in a compact representation of both components of the model and its corresponding actions: each action can modify the status of a component, and is conditioned by the status of at most one other component. This allowed to define very efficient static analysis based on lo...
متن کامل